function main()
	local f = torch.DiskFile(data_path, 'r')
	f:binary()
	data = f:readObject()
	f:close()
	old_win_size = (data:size(1)-1)/2
	
	new_data = torch.LongTensor(win_size*2+1, data:size(2))
	new_data[{1,{}}]:copy(data[{1,{}}])
	new_data[{{2,win_size+1},{}}]:copy(data[{{old_win_size-win_size+2,old_win_size+1},{}}])
	new_data[{{win_size+2,-1},{}}]:copy(data[{{old_win_size+2,old_win_size+win_size+1},{}}])

	print(data[{{},{1,10}}])
	print(new_data[{{},{1,10}}])
	
	f = torch.DiskFile(output_path, 'w')
	f:binary()
	f:writeObject(new_data)
	f:close()
	
end

if #arg == 3 then
	data_path = arg[1]
	win_size = tonumber(arg[2])
	output_path = arg[3]
	main()
else
	print("<data path> <win size> <output path>")
end
